1. Field of the Invention
The present invention relates generally to a system and method for traffic management of packets traversing a communications network. More particularly, the present invention provides an intelligent solution for discriminatory packet discard according to predetermined priority and traffic levels.
2. Description of the Background Art
Current technology provides communication services via a connectionless network such as the Internet. These services are implemented using packet technology, whereby relatively small units called packets are routed through the network to an input queue in a destination system based on the destination address contained within each packet. Breaking communication down into packets allows the same data path to be shared among many users in the network. Such use, however, often results in network congestion and resultant delays in receipt of communications. For example, network traffic often fills input queues faster than processing mechanisms can disperse the content, thus causing a bottleneck in the communication process.
Current art and prior art technology utilize various methods of traffic management in an attempt to alleviate packet glut of this kind. Typically, current art and prior art utilize various algorithms to check queue levels. When the queue level exceeds acceptable thresholds, the incoming packets are randomly discarded. While the prior art and current art methods are able to alleviate queue congestion to some degree, such methods fall prey to a number of inherent disadvantages. Specifically, the aforementioned methods arbitrarily discard all packets when the queue reaches a predetermined level, and continue to drop all packets received until the queue level recedes to a point below the predetermined level of congestion. This necessitates the retransmission and processing of all dropped packets, resulting in process inefficiency, distribution delay, and general substandard processing performance. These methods further fail to discriminate between packets, merely selecting all packets for discard after a predetermined queue threshold is reached. Thus, packets deemed high priority are discarded at the same rate and same time as packets having lower priorities, necessitating a resend of all discarded packets, regardless of priority. The time lost in reprocessing packets of higher priority negates the benefit of an orderly system of transmission according to priorities, with resultant negative business ramifications.
Yet another disadvantage resides in the current state-of-art hardware devices, which limit the use of efficient algorithms and utilize cumbersome hardware configurations, resulting in inefficient processes. For example, certain algorithms utilize a division step. This step generally requires several cycles to complete, thus extending latency time during this particular phase of operations. (Hereafter, the terms “clock cycle” and “cycle” are used interchangeably to mean the time between two adjacent pulses of an oscillator that sets the tempo of a computer processor.) Alternatively, multiple dividers or other hardware components are required to complete the operation in parallel, resulting in inflated design, manufacturing, and purchase costs.
What is needed, therefore, is a system and method capable of optimizing both packet distribution and queue conditions without sacrificing performance objectives. Further, the system and method should encompass both hardware and software embodiments in various configurations to suit business and performance objectives.